//
//  NSDate+Extension.swift
//  日期类
//
//  Created by JJ on 15/9/17.
//  Copyright © 2015年 JJ. All rights reserved.
//

import UIKit

extension NSDate{
    
    class func sinaDate(str:String)-> NSDate? {
        
        let df=NSDateFormatter()
        df.dateFormat="EEE MMM dd HH:mm:ss zzz yyyy"
        
        let date = df.dateFromString(str)
        
        return date
    
    }
    
    /**
    刚刚(一分钟内)
    X分钟前(一小时内)
    X小时前(当天)
    昨天 HH:mm(昨天)
    MM-dd HH:mm(一年内)
    yyyy-MM-dd HH:mm(更早期)
    */
    
    var dateDescription:String{
        
        let calender=NSCalendar.currentCalendar()
        
        if calender.isDateInToday(self){
            let delta = Int(NSDate().timeIntervalSinceDate(self))
            if delta < 60{
                return "刚刚"
            }
            
            if delta < 3600{
                return "\(delta/60)分钟前"
            }
            return "\(delta / 3600)小时前"
        }
        
        var fmtString="HH:mm"
        
        if calender.isDateInTomorrow(self){
            
            fmtString = "昨天" + fmtString
        }else{
            
            fmtString = "MM-dd" + fmtString
            
            let coms=calender.components(.Year, fromDate: self, toDate: NSDate(), options: [])
            
            if coms.year > 0{
                
                fmtString = "yyyy-" + fmtString
                
            }
        }
        
        let df=NSDateFormatter()
        df.locale=NSLocale(localeIdentifier: "en")
        df.dateFormat=fmtString
        let str=df.stringFromDate(self)
        return str
    }
    
}
